幟äœåŠçã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã«ãããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®åŸ¹åºã¬ã€ããæ£ç¢ºãª3Dåæ§æãšç©ºéçè§£ã®ç§èš£ãå¿ é æè¡ããããŠäžçäžã®å®çšäŸã解説ããŸãã
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ïŒå¹ŸäœåŠçã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®ç€ç³
æ¥éã«é²åããã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®äžçã§ã¯ã2Dç»åããç©çç°å¢ã®3Dãžãªã¡ããªãæ£ç¢ºã«è§£éãçè§£ããèœåãæãéèŠã§ããèªåé転è»ãè€éãªéœåžæ¯èгãããã²ãŒãããããä»®æ³ãšçŸå®ãã·ãŒã ã¬ã¹ã«èåãããæ¡åŒµçŸå®äœéšãå¯èœã«ãããã粟å¯ãªç£æ¥ãªãŒãã¡ãŒã·ã§ã³ãä¿é²ãããããå Žåã§ãããããã»ãŒãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã®åºç€ãšãªãã¹ããããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã§ãããã®ããã»ã¹ã¯å¹ŸäœåŠçã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®åºç€ã§ãããäžçã®ããžã¿ã«ãªè§£éããã®ç©ççãªçŸå®ãšäžèŽããããšãä¿èšŒããŸãã
äžçäžã®å°éå®¶ãæå¥œå®¶ã«ãšã£ãŠãã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®çè§£ã¯æçã§ããã ãã§ãªããå ç¢ã§ä¿¡é Œæ§ã®é«ãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã·ã¹ãã ãæ§ç¯ããããã«äžå¯æ¬ ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ãåããããã解説ãããã®çè«çåºç€ãå®è·µçãªæè¡ããããŠããŸããŸãªäžççã¢ããªã±ãŒã·ã§ã³ã«ãããéèŠãªåœ¹å²ãæ¢ããŸãã
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ãšã¯ïŒ
æ¬è³ªçã«ãã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ãšã¯ã3Dã®äžçã®ç¹ã2Dã®ç»åäžã®ç¹ã«é¢é£ä»ããããã«å¿ èŠãªã«ã¡ã©ã®ãã©ã¡ãŒã¿ã決å®ããããã»ã¹ã§ããã«ã¡ã©ãäžçãžã®å®ç§ãªçªãšããŠã§ã¯ãªããçæ³çãªã¢ãã«ããéžè±ããå¯èœæ§ã®ããç¹å®ã®ç¹æ§ãæã€è€éãªå åŠã·ã¹ãã ãšèããŠãã ããããã£ãªãã¬ãŒã·ã§ã³ã¯ãããã®éžè±ãå®éåããã«ã¡ã©ã®åº§æšç³»ãšå®äžçã®åº§æšç³»ãšã®éã®æ£ç¢ºãªé¢ä¿ã確ç«ããŸãã
ãã£ãªãã¬ãŒã·ã§ã³ã®äž»ãªç®æšã¯ã空éå ã®3Dç¹ãã«ã¡ã©ã®2Dã»ã³ãµãŒã«ã©ã®ããã«æåœ±ãããããèšè¿°ããæ°åŠã¢ãã«ãäœæããããšã§ãããã®ã¢ãã«ã«ããã以äžã®ããšãå¯èœã«ãªããŸãïŒ
- 3Dã·ãŒã³ã®åæ§æïŒã«ã¡ã©ã®æåœ±ç¹æ§ãç¥ãããšã§ãè€æ°ã®2Dç»åãããªããžã§ã¯ãã®æ·±åºŠã空éé çœ®ãæšæž¬ã§ããŸãã
- æ£ç¢ºãªæž¬å®ïŒãã¯ã»ã«åº§æšãå®äžçã®è·é¢ã寞æ³ã«å€æããŸãã
- æªã¿ã®è£æ£ïŒç»åãæªãŸããå¯èœæ§ã®ããã¬ã³ãºã®å åŠçæ¬ é¥ãèæ ®ã«å ¥ããŸãã
- è€æ°ãã¥ãŒã®æŽåïŒç°ãªãã«ã¡ã©ãèŠç¹éã®çžå¯ŸçãªããŒãºãšåããçè§£ããŸããããã¯ã¹ãã¬ãªããžã§ã³ãå€èŠç¹å¹Ÿäœã«ãšã£ãŠæ¥µããŠéèŠã§ãã
ã«ã¡ã©ã¢ãã«ïŒ3Dãã2Dãž
æšæºçãªãã³ããŒã«ã«ã¡ã©ã¢ãã«ã¯ãå°åœ±ãçè§£ããããã®åºçºç¹ãšãªãããšãå€ãã§ãããã®ã¢ãã«ã§ã¯ãäžç座æšç³»ã®3Dç¹ X = (X, Y, Z) ã¯ã2Dç»åå¹³é¢äžã®ç¹ x = (u, v) ã«æåœ±ãããŸãããã®å°åœ±ã¯ãã«ã¡ã©ã®å
éšãã©ã¡ãŒã¿ãšå€éšãã©ã¡ãŒã¿ã«ãã£ãŠåªä»ãããŸãã
å éšãã©ã¡ãŒã¿
å éšãã©ã¡ãŒã¿ã¯ãã«ã¡ã©ã®å éšç¹æ§ãå ·äœçã«ã¯ãã®å åŠç³»ãšã€ã¡ãŒãžã»ã³ãµãŒãèšè¿°ããŸãããããã¯ãã«ã¡ã©ãåç¹ã«äœçœ®ããZ軞ãèŠäžãããŠãããšä»®å®ããå Žåã«ã3Dç¹ãç»åå¹³é¢äžã®ãã¯ã»ã«åº§æšã«ã©ã®ããã«ãããã³ã°ãããããå®çŸ©ããŸãããããã®ãã©ã¡ãŒã¿ã¯ãã¬ã³ãºãã»ã³ãµãŒã倿Žãããªãéããç¹å®ã®ã«ã¡ã©ã«å¯ŸããŠäžè¬çã«åºå®ãããŠããŸãã
å éšãã©ã¡ãŒã¿ã¯ãéåžžã3x3ã®ã«ã¡ã©è¡å (K)ã§è¡šãããŸãïŒ
K =
[ fx s cx ]
[ 0 fy cy ]
[ 0 0 1 ]
fxãšfyïŒãã¯ã»ã«åäœã§ã®çŠç¹è·é¢ããããã¯ãå åŠäžå¿ããç»åå¹³é¢ãŸã§ã®è·é¢ããããããxæ¹åãšyæ¹åã®ãã¯ã»ã«ãµã€ãºã§ã¹ã±ãŒãªã³ã°ãããã®ã衚ããŸããcxãšcyïŒäž»ç¹ãããã¯å åŠè»žãšç»åå¹³é¢ã®äº€ç¹ã§ããç»åã®äžå¿è¿ãã«ããããšãå€ãã§ããã補é å ¬å·®ã«ãããããããšããããŸããsïŒã¹ãã¥ãŒä¿æ°ãçæ³çã«ã¯ããã¯ã»ã«ã°ãªããã®x軞ãšy軞ã¯åçŽã§ãããs = 0ãšãªããŸããã»ãšãã©ã®çŸä»£ã®ããžã¿ã«ã«ã¡ã©ã§ã¯å®éã«ãããªã£ãŠããŸãããå®å šãæãããã«å«ãŸããŠããŸãã
å€éšãã©ã¡ãŒã¿
å€éšãã©ã¡ãŒã¿ã¯ãäžç座æšç³»ã«å¯Ÿããã«ã¡ã©ã®3D空éã«ãããããŒãºãèšè¿°ããŸãããããã¯ãäžç座æšç³»ããã«ã¡ã©åº§æšç³»ãžç¹ããããã³ã°ããåäœå€æïŒå転ãšäžŠé²ïŒãå®çŸ©ããŸãããããã®ãã©ã¡ãŒã¿ã¯ãã«ã¡ã©ãç§»åãŸãã¯å転ãããšå€åããŸãã
å€éšãã©ã¡ãŒã¿ã¯ãéåžžã3x3ã®å転è¡å (R) ãš3x1ã®äžŠé²ãã¯ãã« (t) ã§è¡šãããŸãã
äžç座æšã«ãããç¹ Xw = (Xw, Yw, Zw) ã®ãã«ã¡ã©åº§æšã«ãããè¡šçŸ Xc = (Xc, Yc, Zc) ã¯ã次åŒã§äžããããŸãïŒ
Xc = R * Xw + t
å
éšãã©ã¡ãŒã¿ãšå€éšãã©ã¡ãŒã¿ãçµã¿åããããšã3Dã®äžçç¹ Xw ãã2Dã®ç»åç¹ x = (u, v) ãžã®å°åœ±ã¯æ¬¡ã®ããã«è¡šãããšãã§ããŸãïŒ
s * [ u ] = K * [R | t] * [ Xw ]
[ v ] [ 1 ]
ããã§ s ã¯ã¹ã±ãŒã«ãã¡ã¯ã¿ã§ããè¡å [R | t] ã¯ã3x4ã®å€éšãã©ã¡ãŒã¿è¡åãšããŠç¥ãããŠããŸãã
ã¬ã³ãºæªã¿
å®äžçã®ã¬ã³ãºã¯å®å šãªãã³ããŒã«ã§ã¯ãããŸããããããã¯çæ³çãªãã³ããŒã«ã¢ãã«ããéžè±ããæªã¿ããããããŸããæãäžè¬çãªã¿ã€ãã¯æ¬¡ã®ãšããã§ãïŒ
- æŸå°ç¶æªã¿ïŒããã«ãããçŽç·ãæ²ç·ã®ããã«èŠããå åŽã«æ²ããïŒæšœåæªã¿ïŒãå€åŽã«æ²ããïŒç³žå·»ãåæªã¿ïŒãã®ããããã«ãªããŸããç»åã®åšèŸºéšã§ããé¡èã§ãã
- æ¥ç·æªã¿ïŒããã¯ãã¬ã³ãºã®èŠçŽ ãç»åå¹³é¢ãšå®å šã«å¹³è¡ã§ãªãå Žåã«çºçããŸãã
æªã¿ã¯éåžžãå€é
åŒæ¹çšåŒãçšããŠã¢ãã«åãããŸããæŸå°ç¶æªã¿ã«ã¯ãä¿æ° k1ãk2ãk3 ãäžè¬çã«äœ¿çšãããŸããæ¥ç·æªã¿ã«ã¯ãp1 ãš p2 ã®ä¿æ°ã䜿çšãããŸãããã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã¢ãã«ã«ã¯ãããã®æªã¿ä¿æ°ãå«ãŸããŠãããããã«ããç»åç¹ã®æªã¿ãè£æ£ããããå®äžçã®ç¹ãã©ã®ããã«æªãã§èŠããããäºæž¬ãããããããšãã§ããŸãã
ãã£ãªãã¬ãŒã·ã§ã³ã®ããã»ã¹
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯éåžžãæ¢ç¥ã®ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããïŒäŸïŒãã§ã¹ããŒããã¿ãŒã³ããµãŒã¯ã«ã°ãªããããããã¯ã©ã³ãã ãããïŒãã«ã¡ã©ã«å¯ŸããŠæ§ã ãªäœçœ®ãåãã«é 眮ããŠç»åãæ®åœ±ããããšã«ãã£ãŠè¡ãããŸããã¿ãŒã²ããã®æ¢ç¥ã®3Dç¹ãšãç»åå ã§ã®ããã«å¯Ÿå¿ãã2Dã®å°åœ±ã芳枬ããããšã§ãæªç¥ã®å éšãã©ã¡ãŒã¿ãšå€éšãã©ã¡ãŒã¿ãè§£ãããšãã§ããŸãã
äžè¬çãªãã£ãªãã¬ãŒã·ã§ã³ææ³
ããã€ãã®ç¢ºç«ãããææ³ãååšããããããã«é·æãšçæããããŸãïŒ
1. Zhangã®ææ³ïŒå¹³é¢ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããïŒ
ããã¯ãããããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã§æãåºã䜿çšãããå ç¢ãªææ³ã§ããå¹³é¢ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããïŒãã§ã¹ããŒããªã©ïŒãå©çšããã¿ãŒã²ããã®ç»åãå°ãªããšã1æå¿ èŠãšããŸãããã®ææ³ã¯ãå¹³é¢ãã¿ãŒã³ã®å°åœ±ãç¹å®ã®å¹ŸäœåŠçå¶çŽããããããšããäºå®ã«åºã¥ããŠããŸãã
é¢é£ããã¹ãããïŒ
- ã³ãŒããŒã®æ€åºïŒã¢ã«ãŽãªãºã ã䜿çšããŠããã§ã¹ããŒãã®æ£æ¹åœ¢ã®äº€ç¹ïŒã³ãŒããŒïŒã®æ£ç¢ºãªãã¯ã»ã«åº§æšãèŠã€ããŸãã
- å éšãã©ã¡ãŒã¿ã®æšå®ïŒèŠ³æž¬ããããã¿ãŒã³ã«åºã¥ããŠãå éšã«ã¡ã©è¡åïŒKïŒãæšå®ã§ããŸãã
- å€éšãã©ã¡ãŒã¿ã®æšå®ïŒåç»åã«ã€ããŠãå転ïŒRïŒãšäžŠé²ïŒtïŒãæšå®ãããã«ã¡ã©ã«å¯Ÿããã¿ãŒã²ããã®ããŒãºãå®çŸ©ãããŸãã
- æªã¿ä¿æ°ã®æšå®ïŒæ€åºãããã³ãŒããŒã®äœçœ®ããã®çæ³çãªå°åœ±ãšæ¯èŒããããšã§ãæªã¿ä¿æ°ãæŽç·ŽãããŸãã
å©ç¹ïŒå®è£ ãæ¯èŒçç°¡åã§ãå¹³é¢ã¿ãŒã²ããã®ã¿ãå¿ èŠãšãããã€ãºã«åŒ·ãã1æã®ç»åã§ãå®è¡å¯èœïŒãã ããè€æ°ã®ãã¥ãŒã§ç²ŸåºŠãåäžïŒã
æ¬ ç¹ïŒã³ãŒããŒã®æ£ç¢ºãªæ€åºã«ææã§ãããã¿ãŒã²ãããå®å šã«å¹³é¢ã§ãããšä»®å®ããŠããŸãã
2. çŽæ¥ç·åœ¢å€æïŒDLTïŒ
DLTã¯ãäžé£ã®3Däžçç¹ãšãã®2Dç»å察å¿ç¹ãããå°åœ±è¡åïŒå éšããã³å€éšãã©ã¡ãŒã¿ãå«ãïŒãçŽæ¥æšå®ããåçŽãªä»£æ°çææ³ã§ããå°åœ±è¡åã®11åã®ãŠããŒã¯ãªãã©ã¡ãŒã¿ã決å®ããããã«ãå°ãªããšã6ã€ã®éåäžå¹³é¢äžã®ç¹ãå¿ èŠã§ãã
å©ç¹ïŒå®è£ ãç°¡åã§ãèšç®å¹çãé«ãã
æ¬ ç¹ïŒã¬ã³ãºæªã¿ãæç€ºçã«ã¢ãã«åãããå埩æ³ãããå ç¢ã§ãªãããã€ãºã«ææãªå ŽåããããŸãã
3. å埩æé©åïŒäŸïŒã¬ãŒãã³ããŒã°ã»ãã«ã«ãŒãæ³ïŒ
ã«ã¡ã©ãã©ã¡ãŒã¿ã®åææšå®å€ãåŸããããšïŒäŸïŒDLTãZhangã®ææ³ããïŒãåæåœ±èª€å·®ãæå°åããããšã«ãã£ãŠãããã®ãã©ã¡ãŒã¿ãæŽç·Žãããããã«å埩æé©åæè¡ã䜿çšã§ããŸããåæåœ±èª€å·®ãšã¯ã芳枬ããã2Dç»åç¹ãšãçŸåšã®ã«ã¡ã©ãã©ã¡ãŒã¿ã䜿çšããŠæšå®ããã3Dç¹ããåæåœ±ããã2Dç¹ãšã®å·®ã§ãã
å©ç¹ïŒèª€å·®ãæå°åããããšã§é«ã粟床ãéæããè€éãªã¢ãã«ãããŸãæ±ããŸãã
æ¬ ç¹ïŒè¯å¥œãªåææšå®å€ãå¿ èŠãšããèšç®è² è·ãããé«ãã
4. ã¹ãã¬ãªãã£ãªãã¬ãŒã·ã§ã³
åãã·ãŒã³ã2ã€ä»¥äžã®ã«ã¡ã©ã§èŠãå Žåãã¹ãã¬ãªãã£ãªãã¬ãŒã·ã§ã³ãå¿ èŠã§ãããã®ããã»ã¹ã¯ãåã«ã¡ã©ã®å éšãã©ã¡ãŒã¿ã ãã§ãªããäºãã«å¯Ÿããçžå¯ŸçãªããŒãºïŒå転ãšäžŠé²ïŒã決å®ããŸãããã®çžå¯ŸããŒãºã¯ãã¹ãã¬ãªç»åãã3Dç¹ãäžè§æž¬éãåæ§æããããã«æ¥µããŠéèŠã§ãã
ã¹ãã¬ãªãã£ãªãã¬ãŒã·ã§ã³ã«ã¯éåžžã以äžã®äœæ¥ãå«ãŸããŸãïŒ
- åã«ã¡ã©ãåå¥ã«ãã£ãªãã¬ãŒã·ã§ã³ããŠããã®å éšãã©ã¡ãŒã¿ãèŠã€ããŸãã
- äž¡æ¹ã®ã«ã¡ã©ã§åæã«ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããã®ç»åãæ®åœ±ããŸãã
- 2ã€ã®ã«ã¡ã©éã®çžå¯Ÿçãªå転ïŒRïŒãšäžŠé²ïŒtïŒãæšå®ããŸãã
ããã«ãããã¹ãã¬ãªç»åå ã®å¯Ÿå¿ç¹ãæ¢çŽ¢ããéã®å¶çŽãšãªããšãããŒã©å¹Ÿäœã®èšç®ãå¯èœã«ãªãã3Dåæ§æã®åºç€ãšãªããŸãã
ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ãã
ãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããã®éžæã¯éèŠã§ãïŒ
- ãã§ã¹ããŒãïŒã³ãŒããŒãæ€åºãããããããZhangã®ææ³ã§äººæ°ããããŸããè€æ°ã®ãã¥ãŒãå¿ èŠã§ãã
- ãµãŒã¯ã«ã°ãªããïŒãããZhangã®ææ³ã§äœ¿çšãããæ£ç¢ºãªäžå¿ç¹æ€åºãæäŸããŸãã
- 3Dãã£ãªãã¬ãŒã·ã§ã³ãªããžã§ã¯ãïŒããè€éãªã·ããªãªãç¹ã«è€æ°ã®ã«ã¡ã©ã䜿çšããå Žåããæ£ç¢ºãªå éšããã³å€éšãã©ã¡ãŒã¿ãéèŠãªå Žåã«ã¯ãæ¢ç¥ã®å¯žæ³ãšç¹åŸŽäœçœ®ãæã€å®çŸ©æžã¿ã®3Dãªããžã§ã¯ãã䜿çšã§ããŸãã
å®è·µçãªå®è£ ãšã©ã€ãã©ãª
幞ããªããšã«ãã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®å®è£ ã¯ã匷åãªã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã©ã€ãã©ãªã«ãã£ãŠå€§å¹ ã«ç°¡çŽ åãããŠããŸãããã®äžã§ãæãèåãªã®ãOpenCV (Open Source Computer Vision Library) ã§ãã
OpenCVã¯ä»¥äžã®ããã®é¢æ°ãæäŸããŠããŸãïŒ
- ãã§ã¹ããŒãããã³ãµãŒã¯ã«ã°ãªãããã¿ãŒã³ã®ã³ãŒããŒæ€åºã
- æ§ã ãªã¢ã«ãŽãªãºã ïŒZhangã®ææ³ãå«ãïŒã䜿çšããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®å®è¡ã
- ã¬ã³ãºæªã¿ãè£æ£ããããã®ç»åã®æªã¿è£æ£ã
- ã¹ãã¬ãªã«ã¡ã©ãã¢ã®çžå¯ŸããŒãºãèŠã€ããããã®ãã£ãªãã¬ãŒã·ã§ã³ã
OpenCVã«ãããåäžã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®å žåçãªã¯ãŒã¯ãããŒã¯ä»¥äžã®éãã§ãïŒ
- ããŒãã®å¯žæ³ïŒå¹ ãšé«ãã«æ²¿ã£ãæ£æ¹åœ¢/åã®æ°ïŒãå®çŸ©ããŸãã
- ãªããžã§ã¯ããã€ã³ãïŒã¿ãŒã²ããã®ç¹åŸŽã®3D座æšïŒãšã€ã¡ãŒãžãã€ã³ãïŒæ€åºãããç¹åŸŽã®2Dãã¯ã»ã«åº§æšïŒãæ ŒçŽããããã®é åãåæåããŸãã
- äžé£ã®ãã£ãªãã¬ãŒã·ã§ã³ç»åãå埩åŠçããŸãïŒ
- ãã£ãªãã¬ãŒã·ã§ã³ãã¿ãŒã³ãæ€åºããŸãïŒäŸïŒ
findChessboardCornersïŒã - æ€åºãããå Žåãã³ãŒããŒã®äœçœ®ã粟å¯åããã€ã¡ãŒãžãã€ã³ããªã¹ãã«è¿œå ããŸãã
- 察å¿ãããªããžã§ã¯ããã€ã³ãããªããžã§ã¯ããã€ã³ããªã¹ãã«è¿œå ããŸãã
- åéãããªããžã§ã¯ããã€ã³ããšã€ã¡ãŒãžãã€ã³ãã䜿çšããŠãã£ãªãã¬ãŒã·ã§ã³é¢æ°ïŒäŸïŒ
calibrateCameraïŒãåŒã³åºããŸãããã®é¢æ°ã¯ã«ã¡ã©è¡åãæªã¿ä¿æ°ãå転ãã¯ãã«ã䞊é²ãã¯ãã«ãè¿ããŸãã
ã¹ãã¬ãªãã£ãªãã¬ãŒã·ã§ã³ã®å Žåãäž¡æ¹ã®ã«ã¡ã©ããåæã«å¯Ÿå¿ããç¹åŸŽç¹ãååŸããåŸãstereoCalibrateã®ãããªé¢æ°ãå©çšå¯èœã§ãã
ãã£ãªãã¬ãŒã·ã§ã³ã«ããã課é¡ãšèæ ®äºé
ãã£ãªãã¬ãŒã·ã§ã³ã¯æç¢ºã«å®çŸ©ãããããã»ã¹ã§ãããæ£ç¢ºã§ä¿¡é Œæ§ã®é«ãçµæãåŸãã«ã¯ãããã€ãã®èŠå ãæ éã«èæ ®ããå¿ èŠããããŸãïŒ
- ç §ææ¡ä»¶ïŒç¹ã«ã³ãŒããŒããŒã¹ã®ææ³ã§ã¯ãç¹åŸŽãæ£ç¢ºã«æ€åºããããã«ãäžè²«ããååãªç §æãäžå¯æ¬ ã§ãã圱ãé²åºãªãŒããŒã¯ããã©ãŒãã³ã¹ã劚ããå¯èœæ§ããããŸãã
- ã¿ãŒã²ããã®å質ãšè§£å床ïŒãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããã¯é«ç²ŸåºŠã§å°å·ãŸãã¯è£œé ãããã¹ãã§ããã«ã¡ã©ã»ã³ãµãŒã®è§£å床ã圹å²ãæãããŸããäœè§£å床ã®ã«ã¡ã©ã§ã¯ã现ããç¹åŸŽãæ£ç¢ºã«æ€åºããã®ãé£ããå ŽåããããŸãã
- ã«ã¡ã©ã®ããŒãºãšãã¥ãŒã®æ°ïŒå ç¢ãªãã£ãªãã¬ãŒã·ã§ã³ã®ããã«ã¯ãæ§ã ãªèŠç¹ãåããè·é¢ãããã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ããã®ç»åãæ®åœ±ããããšãäžå¯æ¬ ã§ããããã«ããããã¹ãŠã®å éšãã©ã¡ãŒã¿ãšæªã¿ä¿æ°ãååã«å¶çŽãããŸããäžè¬çã«ã¯ãå°ãªããšã10ã20ã®ç°ãªããã¥ãŒãæ®åœ±ããããšãæšå¥šãããŸãã
- ã¬ã³ãºã®ç¹æ§ïŒåºè§ã¬ã³ãºã¯ãã倧ããªæŸå°ç¶æªã¿ãæã€åŸåããããããæ éãªãã£ãªãã¬ãŒã·ã§ã³ãå¿ èŠã§ããéçŒã¬ã³ãºã¯ãç¹æ®ãªãã£ãªãã¬ãŒã·ã§ã³ã¢ãã«ãšæè¡ãå¿ èŠãšããæ¥µç«¯ãªæªã¿ããããããŸãã
- èšç®ç²ŸåºŠïŒæµ®åå°æ°ç¹æŒç®ã®ç²ŸåºŠãšäœ¿çšãããã¢ã«ãŽãªãºã ããæçµçãªãã£ãªãã¬ãŒã·ã§ã³ç²ŸåºŠã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
- åçãªã·ãŒã³ïŒãªããžã§ã¯ããåããŠããåçãªç°å¢ã§äœ¿çšãããã«ã¡ã©ã®å Žåããã£ãªãã¬ãŒã·ã§ã³ããã»ã¹ãã«ã¡ã©ã®*éçãª*å éšãã©ã¡ãŒã¿ãæããŠããããšã確èªããããšãéèŠã§ãããã£ãªãã¬ãŒã·ã§ã³äžã«ã·ãŒã³å ã§ãªããžã§ã¯ããåããšããšã©ãŒãçºçããå¯èœæ§ããããŸãã
- æž©åºŠãšæ¯åïŒæ¥µç«¯ãªæž©åºŠå€åãæ¯åã¯ãã«ã¡ã©ãšã¬ã³ãºã®ç©ççç¹æ§ã«åœ±é¿ãäžããæéãšãšãã«ãã£ãªãã¬ãŒã·ã§ã³ãã©ã¡ãŒã¿ã倿Žãããå¯èœæ§ããããŸãããã®ãããªç°å¢ã§ã¯åãã£ãªãã¬ãŒã·ã§ã³ãå¿ èŠã«ãªãå ŽåããããŸãã
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®äžççãªå¿çšäŸ
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®åœ±é¿ã¯ãäžçäžã®ç£æ¥ãç ç©¶åéã®åºç¯ãªã¹ãã¯ãã«ã«åãã§ããŸãïŒ
1. èªåé転è»ãšãããã£ã¯ã¹
èªåé転è»ã¯ãåšå²ãèªèããããã«ã«ã¡ã©ã«å€§ããäŸåããŠããŸããæ£ç¢ºãªã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯ä»¥äžã®ããã«äžå¯æ¬ ã§ãïŒ
- 深床ç¥èŠïŒèªåé転è»ã§äžè¬çãªã¹ãã¬ãªããžã§ã³ã·ã¹ãã ã¯ããã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã䜿çšããŠãé害ç©ãæ©è¡è ãä»ã®è»äž¡ãŸã§ã®è·é¢ãäžè§æž¬éããŸãã
- è»ç·æ€åºãšéè·¯æšèèªèïŒãã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã¯ãæ€åºãããç·ãæšèãå®äžçã®äœçœ®ããµã€ãºã«æ£ç¢ºã«ãããã³ã°ãããããšãä¿èšŒããŸãã
- ãªããžã§ã¯ã远跡ïŒè€æ°ã®ãã¬ãŒã ã«ããã£ãŠãªããžã§ã¯ãã远跡ããã«ã¯ãã«ã¡ã©ã®å°åœ±ã¢ãã«ã®äžè²«ããçè§£ãå¿ èŠã§ãã
ãããã£ã¯ã¹ã§ã¯ããã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã«ãããããããã¯ãªããžã§ã¯ããæŽãã ããæªç¥ã®å°åœ¢ãããã²ãŒããããã粟å¯ãªçµã¿ç«ãŠäœæ¥ãè¡ã£ããããããšãã§ããŸãã
2. æ¡åŒµçŸå®ïŒARïŒãšä»®æ³çŸå®ïŒVRïŒ
AR/VRã¢ããªã±ãŒã·ã§ã³ã§ã¯ãçŸå®äžçãšä»®æ³äžçã®éã®æ£ç¢ºãªäœçœ®åãããå¿ èŠã§ããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯ä»¥äžã®ããã«åºç€ãšãªããŸãïŒ
- ãŠãŒã¶ãŒã®èŠç¹ã®è¿œè·¡ïŒã¹ããŒããã©ã³ãARãããã»ããã¯ãã«ã¡ã©ã䜿çšããŠãŠãŒã¶ãŒã®äœçœ®ãšåããçè§£ããä»®æ³ãªããžã§ã¯ããã©ã€ãã«ã¡ã©ãã£ãŒãã«çŸå®çã«éãåãããããšãã§ããŸãã
- ã·ãŒã³ã®çè§£ïŒãã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã¯ãå®äžçç°å¢ã®ãžãªã¡ããªãæšå®ã§ããä»®æ³ãªããžã§ã¯ãã衚é¢ãšçŸå®çã«çžäºäœçšããããšãå¯èœã«ããŸãïŒäŸïŒä»®æ³ã®ããŒã«ãçŸå®ã®ããŒãã«ã§è·³ããïŒã
Apple (ARKit) ã Google (ARCore) ãªã©ã®äŒæ¥ã¯ãARãã©ãããã©ãŒã ã®ããã«ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã倧ãã«æŽ»çšããŠããŸãã
3. å»çç»åãšãã«ã¹ã±ã¢
å»çå¿çšã«ãããŠã粟床ã¯è²ããŸãããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯ä»¥äžã§äœ¿çšãããŸãïŒ
- æè¡ããã²ãŒã·ã§ã³ã·ã¹ãã ïŒãã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ãæè¡åšå ·ãšæ£è ã®è§£ååŠçæ§é ã远跡ããå€ç§å»ã«ãªã¢ã«ã¿ã€ã ã®ã¬ã€ãã³ã¹ãæäŸããŸãã
- èåšã®3Dåæ§æïŒå èŠé¡ããã®ä»ã®å»çç»åè£ çœ®ã¯ããã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã䜿çšããŠã蚺æãèšç»ã®ããã«å èã®3Dã¢ãã«ãäœæããŸãã
- é¡åŸ®é¡æ€æ»ïŒãã£ãªãã¬ãŒã·ã§ã³ãããé¡åŸ®é¡ã¯ãçŽ°èæ§é ã®æ£ç¢ºãªæž¬å®ãå¯èœã«ããŸãã
4. ç£æ¥ãªãŒãã¡ãŒã·ã§ã³ãšå質管ç
補é ããã»ã¹ã¯ãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãã倧ããªæ©æµãåããŠããŸãïŒ
- ããããã«ãããã³ãããã³ã°ïŒãã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ã«ãããããããã¯æŽçãããŠããªããã³ããéšåãèå¥ããŠãããã³ã°ããããšãã§ããŸãã
- èªåæ€æ»ïŒè£œåã®æ¬ é¥ãæ€åºããã«ã¯ããã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ããåŸãããæ£ç¢ºãªæž¬å®ãšç©ºéçè§£ãå¿ èŠã§ãã
- çµã¿ç«ãŠæ€èšŒïŒéšåãçµã¿ç«ãŠããã»ã¹ã§æ£ããé 眮ãããŠããããšã確èªããŸãã
ãã€ãã®èªåè»è£œé ããæ±ã¢ãžã¢ã®é»åæ©åšçµã¿ç«ãŠãŸã§ãæ§ã ãªç£æ¥ã§ãã£ãªãã¬ãŒã·ã§ã³ãããããžã§ã³ã·ã¹ãã ãå¹çãåäžãããŠããŸãã
5. åçæž¬éãšæž¬é
åçæž¬éã¯ãåçããæž¬å®ãè¡ãç§åŠã§ããã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯ãã®æ ¹å¹¹ã§ãïŒ
- 3Déœåžã¢ããªã³ã°ïŒãã£ãªãã¬ãŒã·ã§ã³ãããã«ã¡ã©ãæèŒãããããŒã³ãèªç©ºç»åãæ®åœ±ããèšç»ãšç®¡çã®ããã«éœåžç°å¢ã®è©³çްãª3Dã¢ãã«ãäœæããŸãã
- èå€åŠçææžåïŒéºç©ãå²è·¡ã®æ£ç¢ºãª3Dã¢ãã«ãäœæããŸãã
- å°çæ å ±ã·ã¹ãã ïŒGISïŒïŒãããã³ã°ãšç©ºéåæã¯ããã£ãªãã¬ãŒã·ã§ã³ãããç»åããåŸãããæ£ç¢ºãªå¹ŸäœåŠç衚çŸã«äŸåããŠããŸãã
äžççãªæž¬éäŒç€Ÿã¯ãããã®æè¡ã䜿çšããŠãå°åœ¢ããããã³ã°ããã€ã³ãã©ãç£èŠããç°å¢å€åãè©äŸ¡ããŠããŸãã
6. ãšã³ã¿ãŒãã€ã¡ã³ããšæ ç»å¶äœ
èŠèŠå¹æããã¢ãŒã·ã§ã³ãã£ããã£ãŸã§ïŒ
- ã¢ãŒã·ã§ã³ãã£ããã£ïŒãã£ãªãã¬ãŒã·ã§ã³ããããã«ãã«ã¡ã©ã·ã¹ãã ãã俳åªããªããžã§ã¯ãã®åãã远跡ããŠããžã¿ã«ãã£ã©ã¯ã¿ãŒãã¢ãã¡ãŒã·ã§ã³åããŸãã
- ããŒãã£ã«ãããã¯ã·ã§ã³ïŒçŸå®ã®ã»ãããšä»®æ³ã®ã»ãããçµã¿åãããéã«ã¯ããã°ãã°æ£ç¢ºãªã«ã¡ã©è¿œè·¡ãšãã£ãªãã¬ãŒã·ã§ã³ãé¢ãããŸãã
åºæ¬çãªãã£ãªãã¬ãŒã·ã§ã³ãè¶ ããŠïŒé«åºŠãªãããã¯
å éšãã©ã¡ãŒã¿ãšå€éšãã©ã¡ãŒã¿ã®ååã¯ã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ãã«ããŒããŸãããããé«åºŠãªã·ããªãªã§ã¯ãããªãèæ ®ãå¿ èŠã«ãªãå ŽåããããŸãïŒ
- éç·åœ¢æªã¿ã¢ãã«ïŒæªã¿ã倧ããã¬ã³ãºïŒäŸïŒéçŒã¬ã³ãºïŒã®å Žåãããè€éãªå€é åŒã¢ãã«ãæçã¢ãã«ãå¿ èŠã«ãªãããšããããŸãã
- èªå·±ãã£ãªãã¬ãŒã·ã§ã³ïŒç¹å®ã®ã·ããªãªã§ã¯ãæç€ºçãªãã£ãªãã¬ãŒã·ã§ã³ã¿ãŒã²ãããªãã§ãã·ãŒã³èªäœã®æ§é ã芳枬ããããšã«ãã£ãŠã«ã¡ã©ããã£ãªãã¬ãŒã·ã§ã³ããããšãå¯èœã§ããããã¯ãStructure from Motion (SfM) ãã€ãã©ã€ã³ã§ãã°ãã°æ¡çšãããŸãã
- åçãã£ãªãã¬ãŒã·ã§ã³ïŒã«ã¡ã©ã®å éšãã©ã¡ãŒã¿ãæéãšãšãã«å€åããå¯èœæ§ãããã·ã¹ãã ïŒäŸïŒæž©åºŠå€åã«ãããã®ïŒã§ã¯ããã©ã¡ãŒã¿ãç¶ç¶çã«æŽæ°ããããã«ãªã³ã©ã€ã³ãŸãã¯åçãã£ãªãã¬ãŒã·ã§ã³æè¡ã䜿çšãããŸãã
- ã«ã¡ã©ã¢ã¬ã€ãšã»ã³ãµãŒãã¥ãŒãžã§ã³ïŒåºå®ãããã¢ã¬ã€å ã®è€æ°ã®ã«ã¡ã©ããã£ãªãã¬ãŒã·ã§ã³ããããç°ãªãã»ã³ãµãŒã¢ããªãã£ïŒäŸïŒã«ã¡ã©ãšLiDARïŒããã®ããŒã¿ãèåãããããã«ã¯ãæŽç·Žããããã«ãã»ã³ãµãŒãã£ãªãã¬ãŒã·ã§ã³æé ãå¿ èŠã§ãã
çµè«
ã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã¯åãªãååŠçã¹ãããã§ã¯ãããŸãããããã¯ã2Dã®ç»åãã¡ã€ã³ãš3Dã®ç©çäžçãšã®éã®ã®ã£ãããåããåºæ¬çãªå®çŸæè¡ã§ãããã®ååâå éšãã©ã¡ãŒã¿ãå€éšãã©ã¡ãŒã¿ãã¬ã³ãºæªã¿âããOpenCVã®ãããªã©ã€ãã©ãªã§å©çšå¯èœãªå®è·µçãªæè¡ãããŒã«ãšãšãã«åŸ¹åºçã«çè§£ããããšã¯ãæ£ç¢ºã§ä¿¡é Œæ§ã®é«ã幟äœåŠçã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã·ã¹ãã ã®æ§ç¯ãç®æãè ã«ãšã£ãŠæ¥µããŠéèŠã§ãã
ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãäžçã®ãã¯ãããžãŒãšç£æ¥ã®ããããåŽé¢ã«ãã®ç¯å²ãæ¡å€§ãç¶ããã«ã€ããŠãæ£ç¢ºãªã«ã¡ã©ãã£ãªãã¬ãŒã·ã§ã³ã®éèŠæ§ã¯å¢ãã°ããã§ãããã®å¿ é ã¹ãã«ãç¿åŸããããšã§ãèŠèŠããŒã¿ã®æœåšèœåãæå€§éã«åŒãåºããäžçäžã®å€æ§ãªã¢ããªã±ãŒã·ã§ã³ã§é©æ°ãæšé²ããè€éãªèª²é¡ã解決ããèœåã身ã«ã€ããããšãã§ããŸãã